SELECT     COL_NAME(fc.parent_object_id, fc.parent_column_id) AS foreign_key_column, OBJECT_NAME(fc.parent_object_id) AS foreign_key_table, 
                      COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS primary_key_column, OBJECT_NAME(fc.referenced_object_id) AS primary_key_table, c.DATA_TYPE, 
                      c.CHARACTER_MAXIMUM_LENGTH, c.IS_NULLABLE, c.TABLE_NAME, c.COLUMN_NAME
FROM         sys.foreign_keys AS f INNER JOIN
                      sys.foreign_key_columns AS fc ON f.object_id = fc.constraint_object_id INNER JOIN
                      INFORMATION_SCHEMA.COLUMNS AS c ON c.COLUMN_NAME = COL_NAME(fc.parent_object_id, fc.parent_column_id) AND 
                      c.TABLE_NAME = OBJECT_NAME(f.parent_object_id)
WHERE     (OBJECT_NAME(f.referenced_object_id) = @table_name)